package yhao.demo.service.erp.workflow.apilist.form.flow;

import io.swagger.annotations.ApiModelProperty;
import org.hibernate.validator.constraints.NotBlank;
import yhao.demo.service.erp.workflow.apilist.enums.flow.FlowNodeAssignType;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.util.List;

public class FlowNodeForm extends FlowNodeTemplateForm {
    @ApiModelProperty(value = "节点编号",required = true)
    @NotNull(message = "节点编号不得为空")
    private Integer orderNo;

    @ApiModelProperty(value = "指派类型",required = true)
    @NotNull(message = "指派类型不得为空")
    private FlowNodeAssignType assignType;

    @ApiModelProperty(value = "指派实体ID",required = true)
    @NotBlank(message = "指派id不得为空")
    private String assignEntityId;

    @ApiModelProperty(value = "子流程id")
    private String subProcessId;

    @ApiModelProperty(value = "事项设置")
    @Valid
    private List<FlowNodeItemForm> itemList;

    @ApiModelProperty(value = "关联流程定义id",hidden = true)
    private String processId;

    @ApiModelProperty(value = "通知")
    @Valid
    private List<FlowNodeNotifyForm> notifyList;

    public Integer getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(Integer orderNo) {
        this.orderNo = orderNo;
    }

    public String getProcessId() {
        return processId;
    }

    public void setProcessId(String processId) {
        this.processId = processId;
    }

    public FlowNodeAssignType getAssignType() {
        return assignType;
    }

    public void setAssignType(FlowNodeAssignType assignType) {
        this.assignType = assignType;
    }

    public String getAssignEntityId() {
        return assignEntityId;
    }

    public void setAssignEntityId(String assignEntityId) {
        this.assignEntityId = assignEntityId;
    }

    public List<FlowNodeItemForm> getItemList() {
        return itemList;
    }

    public void setItemList(List<FlowNodeItemForm> itemList) {
        this.itemList = itemList;
    }

    public List<FlowNodeNotifyForm> getNotifyList() {
        return notifyList;
    }

    public void setNotifyList(List<FlowNodeNotifyForm> notifyList) {
        this.notifyList = notifyList;
    }

    public String getSubProcessId() {
        return subProcessId;
    }

    public void setSubProcessId(String subProcessId) {
        this.subProcessId = subProcessId;
    }
}
